/**
 * Created by CK on 2016/7/28.
 */
$(document).ready(function(){
    bindCheckboxMaxChoose();
    var questionListNode = $('.question-list');     //选中元素
    $('#bt_submit').popover().click(function() {
        checkRequiredQuestion(questionListNode);    //执行检查
        if(!check){                                 //有必填项未填写
            $(this).popover('show');
            return false;
        }
        $(this).popover('hide');
        $('#form_survey').submit();
    });
});
//多选框绑定最多选中效果
function bindCheckboxMaxChoose() {
    $('.question-checkbox input[type=checkbox]').change(function(){
        var checkboxNode = $(this).parents('.question-checkbox');
        var maxChoose = checkboxNode.attr('maxchoose');
        if(maxChoose === undefined || maxChoose === 0) return false;      //未定义或为0则不限制最多选择个数
        if(checkboxNode.find('input[type=checkbox]:checked').length >= maxChoose) {
            checkboxNode.find('input[type=checkbox]:not(:checked)').attr('disabled', true);
        }
        else {
            checkboxNode.find('input[type=checkbox]:not(:checked)').removeAttr('disabled');
        }
    });
}
var check = true;                                   //验证是否通过，默认为true
//检查各类型必填题目是否已填
function checkRequiredQuestion(questionListNode){
    check = true;                                   //初始化
    if (!checkRequiredRadio(questionListNode))      return false;
    if (!checkRequiredCheckbox(questionListNode))   return false;
    if (!checkRequiredTextbox(questionListNode))    return false;
    if (!checkRequiredTextarea(questionListNode))   return false;
    return true;
}
//检查单选框
function checkRequiredRadio(questionListNode){
    questionListNode.find('> div[must][class=question-radio]').each(function(){
        if($(this).find('input:radio:checked').length < 1) {
            check = false; return false;
        }
    });
    return check;
}
//检查复选框
function checkRequiredCheckbox(questionListNode){
    questionListNode.find('> div[must][class=question-checkbox]').each(function(){
        if($(this).find('input:checkbox:checked').length < 1) {
            check = false; return false;
        }
    });
    return check;
}
//检查单行文本框
function checkRequiredTextbox(questionListNode){
    questionListNode.find('> div[must][class=question-textbox]').each(function(){
        if($(this).find('input:text').val() === '') {
            check = false; return false;
        }
    });
    return check;
}
//检查多行文本框
function checkRequiredTextarea(questionListNode){
    questionListNode.find('> div[must][class=question-textarea]').each(function(){
        if($(this).find('textarea').val() === '') {
            check = false; return false;
        }
    });
    return check;
}